package com.wanmait.schedule.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.time.LocalDateTime;
import java.util.List;

import lombok.*;
import lombok.experimental.Accessors;

/**
 * <p>
 * 班级表
 * </p>
 *
 * @author wanmait
 * @since 2022-12-05
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@Accessors(chain = true)
public class Classes {

    /**
     * 班级id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 班级名称
     */
    private String classesName;

    /**
     * 类型id
     */
    private Integer classesTypeId;

    /**
     * 对应教师id
     */
    private Integer teacherId;

    /**
     * 学生数量
     */
    private Integer studentCount;

    /**
     * 开班时间
     */
    private LocalDateTime openTime;

    /**
     * 结业时间
     */
    private LocalDateTime completionTime;

    /**
     * 说明
     */
    private String info;

    /**
     * 班徽
     */
    private String logo;

    /**
     * 录入人id
     */
    private Integer inputId;

    /**
     * 0 未合班 1 合班 2被合班
     */
    private Integer merge;

    /**
     * 0 未毕业 1已毕业
     */
    private Boolean graduation;

    /**
     * 添加时间
     */
    private LocalDateTime inputTime;

    /**
     * 0删除
     */
    @TableLogic
    private Boolean enable;

    @TableField(exist = false)
    private List<CoursePlan> coursePlanList;

    @TableField(exist = false)
    private ClassesType classesType;

    @TableField(exist = false)
    private Teacher teacher;

    @TableField(exist = false)
    private Schedule[] scheduleList;
}
